Short messaging service center mobile-originated to HTTP Internet communications

ABSTRACT

A mobile device-to-HTTP protocol gateway (MHG, or “MO Gateway”) which translates between Wireless Mobile Originated commands from an SMSC, and an application server on the Internet (i.e., a “web IP Server”). A wireless Internet gateway establishes communications with one or more relevant SMSCs using standard format SMPP commands, and the MHG utilizes HTTP protocol POST messages to post short messages originated at the mobile device to a particular URL. Return results are received by the MHG via HTTP protocol messages, translated to SMPP messages, and forwarded back to the SMSC for delivery to the mobile device. The wireless Internet Gateway communicates with the MHG using RMI protocol commands. An MHG in accordance with the principles of the present invention enables a developer to create mobile applications using standard web development tools, e.g., Java Servlets. The MHG allows standard format command messages to be used throughout the pathway between a mobile device and an application program on a web IP server at a particular URL.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to communications networks. Moreparticularly, it relates to the communication between a mobile (i.e.,wireless) device and an application server via a short message servicecenter (SMSC) and the Internet.

2. Background of Related Art

Wireless communication services are in increasing demand in response toa society which is becoming increasingly mobile. Traditionally, wirelesscommunication services include voice cellular phone and paging servicesin which a user can make a telephone call or send/receive a pageincluding a numeric message indicating a telephone number over awireless network. More recently, paging services have been expanded tooffer alphanumeric paging, which allows a short text based message to besent to and displayed at a handheld pager.

However, voice cellular telephone and the paging services each requirean intended subscriber to be on-line or active to receive a telephonecall or transmitted paging message. In other words, these services donot typically offer the capability of storing the messages for atemporarily unavailable subscriber.

In the early 1990s, as a result of the growing popularity of digitalwireless technology, a standard for digital wireless networks wasintroduced in Europe. That standard, now known as the global standardfor mobiles (GSM), included a service called short messaging service(SMS). An SMS allows transmission of short messages, typically up to 160characters, to and from communication devices, e.g., cellular telephonehandsets, telephones or computers with appropriate modems. In NorthAmerica, the SMS is currently implemented on digital wireless/mobilenetworks, such as a PCS network based on the GSM standard, code divisionmultiple access (CDMA) and/or time division multiple access (TDMA)methods. Short message services are gaining in popularity, particularlyin the United States.

Short message services are advantageous over text based paging servicesbecause of the capability of bi-directional communication. Suchbi-directional communication allows, for example, notification to theoriginating device of the success or failure of the short messagedelivery.

Each SMS network typically includes a short message service center(SMSC) which acts as a store-and-forward mechanism providing guaranteeddelivery of short messages to a subscriber, even if the subscriber isinactive when the message was transmitted, by delivering the shortmessages once the subscriber becomes active. Delivery of all shortmessages is guaranteed regardless of whether or not the intendedsubscriber is “on-line” because the transmitted short message is storedwithin the SMS network and delivered to the intended subscriber fromtheir assigned SMSC when the subscriber becomes available.

A variety of services have been introduced using SMS networks including,for example, integrated electronic mail and fax, integrated paging,interactive banking, and information services such as stock quotes andairline schedule delivery.

In operation, an SMSC receives a short message from any source intendedto be delivered to a particular subscriber. When the intended subscriberis not available because, for example, it is turned off or is outside ofthe service area of the SMS network, the attempt to deliver the shortmessage at that time will fail. In this case, the short message will beretained in the SMS network for a later delivery attempt. Thereafter,when the subscriber finally becomes available, e.g., is turned on or hasmoved into the service area of the SMS network, the relevant portions ofthe network (e.g., the mobile servicing center (MSC) and the homelocation register (HLR)) notify the SMSC to initiate delivery of thestored (i.e., previously failed) short messages.

FIG. 6 shows an exemplary structure of a SMS network 500. Although thefollowing example is described using terms and protocols mainly asdefined by the North American standard IS-41, it will be apparent to oneskilled in the art that the example is applicable to any networks thatoffer store-and-forward type short message service.

The SMS network 500 typically includes one short message service center(SMSC) 501. The SMSC 501 typically includes a storage subsystem to storeshort messages that had failed to be delivered. The SMSC 501 typicallyfurther includes various interfaces (not shown) to receive shortmessages originating from various sources and protocols, such as a VoiceMail System (VMS) 508, paging networks using, e.g., Telocator NumericPaging Protocol (TNPP) 509, devices using the Short Message Peer-to-Peer(SMPP) protocol 510 via TCP/IP, e-mail systems using the Simple MailTransport Protocol (SMTP) 511, and/or devices using the TelocatorAlphanumeric Protocol (TAP) 512. Some of the various sources of theshort messages may be gateways to other networks.

The SMSC 501 may further include a gateway/interworking block (notshown) that enables the SMSC 501 to communicate with the rest of the SMSnetwork 500, such as a Home Location Register (HLR) 503 or a MobileSwitching Center (MSC) 505, using the Signaling System No. 7 (SS7) 502.The methods and mechanism of communication in the SMS network 500 aredefined by the mobile application part (MAP) layer, which uses theservices of the SS7 transaction capabilities application part (TCAP) asthe signaling infrastructure of the SMS network 500. The protocol forthe signaling is referred to as the IS-41 protocol under the Americanstandard as published by the Telecommunication Industry Association(TIA) or as the GSM MAP under the European standard published byEuropean Telecommunication Standards Institute (ETSI).

The Home Location Register (HLR) 503 includes a database thatpermanently stores and manages subscriptions and service profiles ofusers having a subscription to the SMS network 500. Although only oneHLR 503 is shown, the SMS network 500 may include two or more HLRs. TheSMS network 500 also typically includes several visitor locationregisters (VLR) 504. A VLR 504 is a database temporarily holdinginformation about visiting subscribers who move into its service area.Thus, a VLR 504 contains information regarding routing information forall subscribers within its service area, and informs the relevant HLR503 of the availability and routing information regarding itssubscribers. The mobile switching center (MSC) 505 obtains subscriberinformation from the VLR 504 to service visiting subscribers.

The mobile switching center (MSC) 505 performs switching and callcontrol functions, and receives short messages from the SMSC 501 fordelivery to the appropriate mobile subscriber 507 (shown, e.g., as acellular phone handset). It is to be understood that, although only oneMSC 505 is shown, the wireless network 500 may include two or more MSCs.

The base station subsystem (BSS) 506 handles the wirelesscommunications, e.g., RF transmission and reception of voice and datatraffic, to and from the mobile subscriber 507. The BSS 506 is typicallycomposed mainly of two parts: the base transceiver station (BTS, notshown) which houses the radio transceivers that define a cell andhandles the radio-link protocols with the mobile subscriber 507, and thebase station controller (BSC, also not shown) which manages the radioresources, and handles radio channel set up, frequency hopping, andhandoffs (or handovers as is sometimes referred as). The BSC is theinterface between the MSC 505 and the subscriber 507. The subscriber507, also sometimes referred to as a mobile station (MS), typicallyconsists of mobile equipment (e.g., a cellular phone handset) preferablyuniquely identifiable by an identifying number, e.g., mobileidentification number (MIN), International mobile subscriberidentification (IMSI) and/or electronic serial number (ESN), for thesubscriber 507. The mobile equipment may include a storage area, e.g., aflash memory, a ROM, a RAM or the like to hold the unique identifyingnumber within the mobile equipment. In GSM networks, a smart card,typically referred to as a subscriber identity module (SIM) is utilizedto store a unique identifying number.

FIG. 7 shows an exemplary flow of a short message through a conventionalSMS network. Although FIG. 7 shows only an example of short messagedelivery to a mobile subscriber, it is to be understood that a mobilesubscriber or any other sources may originate a short message. The flowof a mobile subscriber originated short message would involve similarprocesses as the following mobile subscriber terminated short messageexample, and would be apparent to one of ordinary skill in the art.

The SMSC 601 receives a short message intended for a subscriber 604 froma source of short message 605 which may be any one or more of theaforementioned sources of short messages, e.g., 508-512 of FIG. 6. Uponreceiving a short message, the SMSC 601 sends a request for routinginformation, i.e., an SMS request (SMSREQ), to the HLR 602. The HLR 602maintains information regarding the availability of the intendedsubscriber 604 and the appropriate MSC 603 that services the intendedsubscriber, and sends the information as routing information 608 back tothe SMSC 601. The SMSC 601 forwards the short message to the appropriateMSC 603 using the routing information 608 received from the HLR 602, forexample, in accordance with the short message delivery point-to-point(SMDPP) mechanism of IS-41 standard. The MSC 603 queries the VLR (notshown) for subscriber information. The VLR may perform a paging andauthentication process, and sends the subscriber information to the MSC603. The MSC 603, using the information received from the VLR, deliversthe short message to the intended subscriber 604, and sends a deliveryreport 612 to the SMSC 601. The SMSC 601 may send the result of thedelivery, i.e., the status report 613, to the source of the shortmessage 605 if requested.

When the attempted delivery of the short message has failed because, forinstance, the intended user was out of the service area, or had his orher communication device turned off, the MSC 603 informs the HLR 602 ofthe failure. The HLR 602 then turns on an SMS notification indicatorflag for the subscriber, and the SMSC 601 retains the failed message fora later delivery attempt.

FIG. 8 shows a pending short message delivery process in a conventionalshort message service network after the mobile subscriber becomesavailable for delivery of the retained messages. In particular, in FIG.8, when the subscriber 704 turns his or her handset on or comes withinthe service area, the subscriber's handset sends a registration signal709 to the MSC 703. The registration signal 709 may or may not includeauthentication process.

Upon receiving the registration signal 709, the MSC 703 informs the HLR702 (or the VLR 711) of the availability of the subscriber 704 bysending a subscriber available signal 708. Because the SMS notificationflag for the subscriber is on, the HLR 702 or the VLR 703 sends an SMSnotification (SMSNOT) message 705 in case of networks implementing IS-41standard, or an equivalent notification alerting the fact that thesubscriber has become available in networks implemented in accordancewith other standards, to the SMSC 701 assigned to service thatparticular intended subscriber 704.

The SMSC 701 then sends a delivery request 706 to the MSC 703 via, forexample, the SMDPP protocol in the IS-41 standard. The MSC 703 finallydelivers the short message 710 to the subscriber 704, and sends amessage delivered message 707 back to the SMSC 701 to confirm andfinalize the delivery of the short message. The SMSC 701 may furthersend a delivery report to the source of the short message if it wasrequested.

The Wireless Application Protocol (WAP) attempts to standardize amechanism for two-way communications. However, WAP requires that aspecial browser be loaded on the handset, and requires the user to enterinto a dedicated ‘browser mode’ in order to interact with 2-wayservices.

There is a need for a standardized solution allowing short messagecommunications between wireless devices and application servers on theInternet without the need for a specialized browser, while making use ofexisting communication standards utilized by standard SMSCs, e.g., SMPP.

SUMMARY OF THE INVENTION

In accordance with the principles of the present invention, a gatewaycomprises a first communication path to accept a short message from ashort message service center. A translation module inserts the shortmessage into an HTTP protocol message. A second communication pathtransmits the HTTP protocol message to at least one URL.

A method of communicating between a wireless device and an applicationprogram on an Internet Protocol server in accordance with another aspectof the present invention comprises sending a short message from thewireless device to the Internet Protocol server. The short message isrouted using a wireless protocol message. The short message is conveyedto the Internet Protocol server using an HTTP protocol POST message.

A mobile to HTTP gateway application in accordance with yet anotheraspect of the present invention comprises an SMPP relayer, a messagedirector to process messages from the SMPP relayer, a poster collectorto obtain at least one target poster, and a poster.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the present invention will become apparent tothose skilled in the art from the following description with referenceto the drawings, in which:

FIG. 1 illustrates an exemplary system adapted to push mobile originated(MO) messages to an IP (web) sever, in accordance with the principles ofthe present invention.

FIG. 2 depicts a mobile-to-HTTP gateway (MHG) as a ‘black box’ which iseasily installed into existing systems to enable bi-directionalcommunication between a mobile device and one or more IP servers withinthe parameters of standard protocol communications (e.g., SMPP and HTTP)between system elements, in accordance with the principles of thepresent invention.

FIG. 3 shows a message flow between the system elements shown in FIG. 1.

FIG. 4 shows software elements of an exemplary MO-HTTP Gateway (MHG)100, in accordance with the principles of the present invention.

FIG. 5 shows various classes in an exemplary embodiment of a MHG 100, inaccordance with the principles of the present invention.

FIG. 6 shows relevant portions of a conventional short message servicenetwork.

FIG. 7 shows a process of short message flow within a conventional shortmessage service network.

FIG. 8 shows a pending message delivery process in a conventional shortmessage service network.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The present invention provides a mobile-to-HTTP protocol gateway (MHG,or “MO Gateway”) which translates between standard wireless protocolcommands (e.g., SMPP from an SMSC), and an application server on theInternet (i.e., a “Web Server”).

An MHG in accordance with the principles of the present invention allowsany standard 2-way SMS capable handset to interact with specialized webapplications. Using an MHG, it is no longer necessary for a user tolaunch a phone browser in order to access the services. Moreover, an MHGprovides a simpler model than WAP for developing 2-way applications.

The disclosed embodiment of an MO-HTTP gateway uses the SMPP protocol.However, the principles of the present invention relate equally to other2-way messaging protocols, e.g., ReFlex for 2-way pagers.

The MO-HTTP gateway provides a mechanism for developers to produce 2-waywireless applications using familiar Web-based tools and methodologies.The MO-HTTP gateway hides the details of communicating with the wirelessnetwork by interacting with applications using familiar HTTP posting. Byadopting SMS and SMPP for its reference implementation, the MO-HTTPgateway avoids problems common to the WAP environment.

Utilizing an MHG in accordance with the principles of the presentinvention, a developer may create mobile applications using standard Webdevelopment tools, e.g., Java Servlets.

FIG. 1 illustrates an exemplary system adapted to push mobile originated(MO) messages to an IP (web) sever using standardized equipment andmessage protocols together with an MHG 100, in accordance with theprinciples of the present invention.

In particular, as shown in FIG. 1, a mobile (i.e., wireless) device 120communicates with an appropriate wireless network 122 using anyappropriate wireless standard protocol. In turn, the wireless network122 communicates with a short message service center 124 using standardIS-41 communication protocol messages.

Appendix A attached hereto is a document entitled “SHORT MESSAGE PEER TOPEER (SMPP) INTERFACE SPECIFICATION” describing relevant features ofmobile originated communications using Short Message Peer-to-PeerProtocol (referred to herein as SMPP).

The SMSC 124 communicates with a wireless internet gateway 126 via SMPPprotocol commands in substantial conformance with the SMPP interfacespecification attached hereto in Appendix A.

A suitable wireless Internet gateway 126 is described in co-owned U.S.Appl. No. 60/______, filed on _(—), 2000, entitled “Wireless InternetGateway”, by Richard Smith, the entirety of which is expresslyincorporated herein by reference.

The wireless Internet Gateway 126 communicates with a MHG 100 using JavaRemote Method Invocation (RMI) technology to provide server-to-servercapability.

The mobile to HTTP Gateway (MHG) 100 translates standard format RMIprotocol commands from the wireless Internet gateway 126 into HTTPprotocol commands, and directs the same to an appropriate Internetprotocol (IP) server (i.e., web application server) 152, 154, and/or 156in communication with the Internet 150.

FIG. 2 depicts the MHG 100 as a ‘black box’ which is easily installedinto existing systems to enable bi-directional communication between amobile device 120 and one or more IP servers 152-156 within theparameters of standard protocol communications (e.g., SMPP and HTTP)between system elements, in accordance with the principles of thepresent invention.

In particular, as shown in FIG. 2, the mobile to HTTP gateway (MHG) 100preferably is bi-directional in that it generates HTTP protocol POSTcommands to an application program on a relevant IP server 152-156 basedon mobile-originated messages, and translates responses to the same fromHTTP protocol back into standard format SMPP messages for forwardingback to the relevant mobile device 120.

In accordance with the principles of the present invention, an HTTPprotocol POST command is used by the MHG 100 to forward a request fromthe mobile device 120 to the relevant web IP server(s) 152-156. The HTTPprotocol POST command is well known and documented in, e.g., RFC2068 andlater IETF RFC's on the subject. This document is publicly available,e.g., at http://ietf.org/rfc.html.

In particular, as is known within the HTTP protocol, an HTTP protocolPOST command is used to request that a particular destination web IPserver 152-156 accept the entity enclosed in the request (i.e., themobile device 120) as a new subordinate of the resource identified bythe Request-URI in the Request-Line.

The HTTP protocol POST command is designed to allow a uniform method forvarious tasks, e.g., to allow annotation of existing resources, to allowposting of a message to a bulletin board, newsgroup, mailing list, orsimilar group of articles, to provide a block of data, such as theresult of submitting a form, to a data-handling process, and/or toextend a database through an append operation. The actual functionperformed by the HTTP protocol POST method is determined by theparticular web IP server 152-156, and is usually dependent on theRequest-URI. The posted entity (i.e., the wireless device 120) issubordinate to that URI in the same way that a file is subordinate to adirectory containing it, a news article is subordinate to a newsgroup towhich it is posted, or a record is subordinate to a database.

The action performed by the HTTP protocol POST command might not resultin a resource that can be identified by a URI. In this case, either 200(OK) or 204 (No Content) is the appropriate response status, dependingon whether or not the response includes an entity that describes theresult. If a resource has been created on the origin server, theresponse should be 201 (Created) and contain an entity which describesthe status of the request and refers to the new resource, and a locationheader.

Responses to the HTTP protocol POST are not cachable, unless theresponse includes appropriate Cache-Control or Expires header fields.However, the 303 (See Other) response can be used to direct the useragent to retrieve a cachable resource.

With respect to the MHG 100, the submitted HTTP protocol POST commandincludes mobile_num, resp_track_id and body fields. Also embedded withinthe HTTP protocol POST command is a CGI name/value pair providinginformation about the particular request from the mobile device 120.

A response back to the mobile device 120 originates from the relevantweb IP server 152-154 synchronously in response to the received HTTPprotocol POST command.

Particular features of the standard SMPP utilized by various aspects ofthe present invention include the following:

-   -   Use of a registered_delivery flag.    -   Use of an “$R” trigger in the body of every MO message        indicating a source-unique tracking number for SMPP v3.3,        version 3.4 provides an explicit field for a tracking number and        therefore the trigger is not required.    -   Use of user responses contained within the stat component of a        standard delivery receipt.    -   Use of message types identified by the esm_class field.

FIG. 3 shows an exemplary message flow between the system elements shownin FIG. 1.

In particular, the following steps 1 to 12 are depicted between systemelements in FIG. 3 as an example of message routing between a mobiledevice 120 and a relevant web IP server 152-154.

Step 1

The mobile device 120 sends a short message to a pre-defined address(e.g., ‘info’, or 4636). If the body of the short message is empty, orif the body contains a special string such as ‘menu’, then ultimately amenu would be sent by the HTTP Application on the relevant web IP server152-156 to the mobile device 120.

Other bodies may be used to, e.g., identify global commands, or providecontext-sensitive information from the mobile device 120 to the HTTPapplication on the web IP server 152-156. Requirements for body contentdepend on the particular HTTP application as it exists on the particularweb IP server 152-156.

Step 2

The SMSC 124 routes the short message to an ESME (e.g., the wirelessInternet gateway 126) for delivery using a standard SMPP protocolDELIVER_SM message. As disclosed, the MHG 100 utilizes the followingfields of the DELIVER_SM command: service_type, source_addr,destination_addr, registered_delivery_flag, esm_class, andshort_message.

In particular, the MHG 100 utilizes the service_type parameter toindicate the SMS application service associated with the message. Forinstance, the service_type field may be populated with the value ‘page’.

The source_addr is the address of the SME (e.g., mobile device 120) thatoriginated the short message. As disclosed, the source_addr is theMobile Identification Number (MIN) of the mobile device 120 making therequest.

The destination_addr is the address of the destination SME. Asdisclosed, the destination_addr may be assumed to be ‘4636’ as indicatedin Step 1 above. This address is used to route the request to theappropriate HTTP URL.

The registered_delivery_flag indicates if an SME Acknowledgement isnecessary. As disclosed, the registered_delivery_flag is set to adefault value of 0, which indicates that no delivery receipt isrequested.

The esm_class indicates the message type and Enhanced network services.

The short_message field contains up to 254 octets of short message userdata.

Thus, key fields of the DELIVER_SM command may be populated by the MHG100 as follows: service_type: page source_addr: mobile's MINdestination_addr: 4636 registered_delivery_flag: 0 esm_class 0short_message: $R[new ref id]$M[message]

The $R in the short_message is optional, and is applicable for use withSMPP v3.3. The $R may be used when correlating responses from the mobiledevice 120 to Reply-request messages from the application program on therelevant web IP server 152-156. For consistency, the $R is preferablyalways present in short messages from the mobile device 120.

Step 3

When the wireless Internet gateway 126 receives the SMPP message fromthe SMSC 124, it creates a DELIVER_SM object. The DELIVER_SM object isforwarded by the wireless Internet gateway 126 to any relevant remoteapplications that are registered to receive messages on a specifiedports/link ID, e.g., the MHG 100 if the MHG 100 is registered with thewireless Internet gateway 126 to receive SMPP messages. The transmissionis accomplished through an RMI callback mechanism.

Step 4

The MO-HTTP Gateway (MHG) 100 receives the DELIVER_SM message objectfrom the wireless Internet gateway 126, and formulates an HTTP protocolPOST command message to a web server on the Internet 150 to convey themessage content. The MHG 100 can direct the HTTP protocol POST commandmessages to one or to multiple URLs.

The particular web server to reference is determined by the includeddestination address, assuming that the SMPP destination address fieldcontains the targeted number, e.g., ‘4636’. The HTTP protocol POSTcommand message may be routed based on the SMPP port utilized.

As disclosed, exemplary name/values that may be utilized in the HTTPprotocol POST command message sent to the web server are the mobile_num,resp_track_id, and body.

The mobile_num may be the mobile identification number (min) identifyingthe originating mobile number of the relevant mobile device 120.

The resp_track_id may be the reference ID (ref id) for useracknowledgements used to track questions and related answers.

The body may be the payload content from the mobile device 120 includedin the message body field.

As embodied, by default, only SMPP messages with esm_class values of ‘0’and ‘16’ are forwarded by the wireless Internet gateway 126 to the webIP server 152-156. That is, only new mobile originated requests and/ormenu responses are forwarded.

If, for instance, the SMPP message type is ‘16’, then the resp_track_idvariable may contain the reference ID. On the other hand, if the messagetype is ‘0’, then the reference ID is not passed to the relevant web IPserver(s) 152-156.

Utilization of the SMPP message type and inclusion/non-inclusion of thereference ID reduces network traffic and resource requirements, andsimplifies development on the web side.

Step 5

The relevant web server in the Internet 150 receives the HTTP protocolPOST command information, which may be handled by the actual CGI/Servletroutine specified by the URL in Step 4.

The handling servlet may create sessions for each mobile device suchthat the current state of the mobile device may be preserved, allowingmeaningful content to be transmitted. Example wireless web applicationsmay include menu-based services, games, and information services.

After the servlet of the web server in the Internet 150 receives theHTTP protocol POST command, the servlet synchronously returns datathrough the HTTP stream back to the MHG 100. The text returned by theservlet may be delivered to the mobile device 120 as a standard SMSmessage.

The returned data may be contained within an <SMS> and </SMS> tag-set.The <SMS> and </SMS> tags are special tags used by the MHG 100 to denoteSMSC Type data. As the number and/or variety of applications increase,additional tags may be implemented.

As disclosed, there are several fields embedded within the <SMS> and</SMS> tags: mobile_num, resp_track_id, and body.

The mobile_num field includes a mobile identification number of themobile device 120 that a relevant short message is destined for.

The resp_track_id field includes a unique identification numbergenerated by the servlet. The MHG 100 returns this id to the servlet forresponses.

The body field includes the text to send to the desired mobile device120. If the body field is blank, then nothing will be sent to the mobiledevice 120.

If the servlet requires a single-button user response (e.g., for amenu), then the “<RESP_TRACK_ID value=‘x’>” tag can be included prior tothe </SMS> tag. This tells the system that a menu is required and thatthe specified unique tracking number should be used.

When the user of the mobile device 120 responds to this message, thissame tracking id may be returned in the resp_track_id cgi variable.

For ease of description of some of the following steps, an example usingthe scenario described above is introduced wherein the servlet returnsthe following:

-   -   <SMS> Do you like cookies (Y/N)?        -   <RESP_TRACK_ID value=“1234”> </SMS>            Step 6

After having posted its data to the web server in the Internet 150, theMHG 100 receives a response from the same connection, as described inStep 5. A standard SUBMIT_SM MT message is generated from the textreceived within the <SMS> tag set.

In particular, the SUBMIT_SM message is issued by the ESME (e.g., thewireless Internet gateway 126) to submit a short message to the SMSC 124for transmission to a specified mobile device 120. In creating aSUBMIT_SM message destined for the SMSC 124, the conventional SMPPProtocol specification is followed, with the exception of the followingmapping implemented between the SUBMIT_SM message and data received inthe <SMS> and </SMS>.

A registered_delivery_flag in the SUBMIT_SM message informs the SMS thatthe ESME (wireless Internet gateway) 126 requires a notification whenthe message has been delivered. If the RESP_TRACK_ID is provided (i.e.,contains a value), then the registered_delivery_flag field is set to ‘8’for the MHG 100 indicating ‘SME Manual/User Ack requested’, and aspecial tag of R$[track id] is included in the message body. Preferably,this same tracking id will be returned in the response message from themobile device 120.

A short_message in the SUBMIT_SM message is the payload containing up to160 bytes of data that should be transmitted to the mobile device 120.An empty body indicates that no message is to be sent to the mobile. Ifthe RESP_TRACK_ID value is set, then a special tag of “$R” concatenatedwith the value from the RESP_TRACK_ID and the tag “$M” must be prependedto the short message.

The other fields of the SUBMIT_SM message are used as conventionallyknown and described in the SMPP Protocol.

Step 7

The SMSC 124 receives the SUBMIT_SM message and delivers a shortmessage, with manual ack request, to the mobile device 120.

Step 8

The mobile device 120 responds to the “Do you like cookies?” question,e.g., by pressing ‘9’ for Yes.

Step 9

The SMSC 124 receives the response from the mobile device 120 andformulates a DELIVER_SM message. The formulated DELIVER_SM message isforwarded to the wireless Internet gateway 126.

Key parameters in the DELIVER_SM message may be populated as follows:service_type: page source_addr: [mobile's MIN] destination_addr: 4636registered_delivery_flag: 0 esm_class: 16 short_message: R1234$[ResponseValue]

The response code is shown directly after the $M value.

Step 10

The wireless Internet gateway 126 receives the DELIVER_SM message fromthe SMSC 124, converts the DELIVER_SM message into an object, andforwards the DELIVER_SM message to any listeners (e.g., the MHG 100). Inthe disclosed example, the MHG 100 may be listening to the wirelessInternet gateway 126 on a specified port, and therefore receive theDELIVER_SM message from the specified port.

Step 11

The MHG 100 receives the DELIVER_SM object, and determines if theesm_class is ‘16’. If so, the short message is translated by the MHG 100and forwarded to its web listeners.

A URL is associated with either the SMPP link ports or the destinationaddress through a configuration file of the MHG 100. The MHG 100therefore formulates an HTTP protocol POST command message to theappropriate URL(s).

As disclosed, the HTTP protocol POST command message may contain thefollowing name/value pairs:

-   -   mobile_num=[mobile num]    -   resp_track_id=123    -   body=9

To ease the burden of the web developer, the MHG 100 may include theresponse code only for messages where esm_class=‘16’. Thus, if theesm_class is not ‘16’, the response code need not be included.Regardless of how the MSG 100 receives it, it need pass only theresponse code in the body field.

Step 12

The servlet associated with the specified URL receives the HTTP protocolPOST command message from the MHG 100.

The servlet may retrieve a session object for the particular value ofthe mobile_num, and determines that it had just asked the mobile device120 about a cookie preference.

The servlet may confirm that the query's tracking ID correlates to theresp_track_id value. Thus, the servlet knows that the response at handis in response to that question. Since the body contains the content ‘9’(or ‘Y’ or other suitable response), the servlet may rightfully concludethat the user of the mobile device 120 (who input the ‘9’ response)likes cookies.

A conversation or communication between the mobile device 120 and anapplication on one or more particular web IP servers 152-156 maycontinue on as described in steps 1 to 12 indefinitely.

FIG. 4 shows software elements of an exemplary MO-HTTP Gateway (MHG)100, in accordance with the principles of the present invention.

In particular, as shown in FIG. 4, the software elements of the MHG 100include an SMPPRelayer 402, a MessageDirector 404, a PosterCollection406, a Poster 408, and a Servlet 410.

In accordance with the principles of the present invention, one or moreSMPPRelayers 402 will register as listeners to specified link IDs of thewireless Internet gateway 126.

In message 421 shown in FIG. 4, SMPP messages are sent by the wirelessInternet gateway 126 to the SMPPRelayer 402 of the MHG 100 as they arereceived.

In message 422, the SMPPRelayer 402 forwards each message to aMessageDirector 404.

In message 423, the MessageDirector 404 retrieves a Poster 408 from thePosterCollection 406, and then in message 424 tells the Poster 408 toprocess the SMPP Message.

In message 425, the Poster 408 converts the SMPP Message into an HTTPprotocol POST command request 425 to a specific universal resourcelocator (URL), and receives return results back in message 426.

In message 427, the Poster 408 returns the results back to theSMPPRelayer 402, so that it will be sent to the mobile device 120, asdepicted in message 428.

FIG. 5 shows various classes in an exemplary embodiment of a MHG 100, inaccordance with the principles of the present invention.

In particular, as shown in FIG. 5, the MHG 100 includes a MOHGatewayclass 502, an SMPPRelayer class 402, a MessageDirector class 404, aPosterCollection class 406, and a Poster class 408.

The MOHGateway class 502 defines “main( )”, and upon execution willcreate the SMPPRelayer class 402, the MessageDirector class 404, and thePosterCollection class 406, assigning references to one another asappropriate.

The PosterCollection class 406 accesses a standard application resourceclass to determine the number of Posters 408 required, as well as thedesired configuration of each Poster 408. The PosterCollection class 406creates the Posters 408 and provides references to the Posters 408through a getPoster(SMPPMessage msg) method.

The SMPPRelayer class 402, the MessageDirector class 404, thePosterCollection class 406, and the Poster 408 each receive an ILoggerobject for recording information.

While the invention has been described with reference to the exemplaryembodiments thereof, those skilled in the art will be able to makevarious modifications to the described embodiments of the inventionwithout departing from the true spirit and scope of the invention.

1. A gateway, comprising: a first communication path to accept a shortmessage from a short message service center; a translation module toinsert said short message into an HTTP protocol message; and a secondcommunication path to transmit said HTTP protocol message to at leastone URL; wherein said gateway facilitates two-way communication betweena short message service device and an HTTP device. 2-29. (canceled)